import { defineConfig ,loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue'
import autoprefixer from 'autoprefixer';
import postCssPxToRem from 'postcss-pxtorem';
import path from 'path'
export default defineConfig(({  mode})=>{
  // 根据当前工作目录中的 `mode` 加载 .env 文件
  // 设置第三个参数为 '' 来加载所有环境变量，而不管是否有 `VITE_` 前缀。
  const env = loadEnv(mode, process.cwd(), '')
  return{
    base:env.VITE_VITE_BASE_PATH,
    plugins: [vue()],
    css: {
      postcss: {
        plugins: [
          autoprefixer({
            overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'],
          }),
          postCssPxToRem({
            // 自适应，px>rem转换
            rootValue: 37.5, // 75表示750设计稿，37.5表示375设计稿
            propList: ['*'], // 需要转换的属性，这里选择全部都进行转换
            selectorBlackList: ['norem'], // 过滤掉norem-开头的class，不进行rem转换
          })
        ],
      },
      preprocessorOptions:{
        scss: {
          //全局引入sass文件
          additionalData: `@import "./src/assets/theme.scss";`
        }
      }
    },
    resolve:{
      // ↓路径别名，主要是这部分
      alias: {
        '@': path.resolve(__dirname, './src')
      }
    },
    server:{
      host: '0.0.0.0',
      /* 使用代理 */
      proxy: {
        '/api': {
          target: 'http://ga-bp11ascb4mw2qsjc5epe2.aliyunga0019.com',  // 目标代理服务器地址
          // target: 'https://panning.fozmo.cc/user/sendSmsCode.json',  // 目标代理服务器地址
          changeOrigin: true,                          // 允许跨域
          rewrite: (path) => path.replace(/^\/api/, ""),
        },
      },

    },
    build:{
      terserOptions : {
        compress : {
          drop_console : env.VITE_NODE_ENV != 'development',
          drop_debugger : env.VITE_NODE_ENV != 'development',
        }
      }
    }
  }
})
